#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDockWidget>
#include <QLabel>
#include <QPushButton>
#include <QHBoxLayout>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    // 给子窗口添加一个子窗口
    QDockWidget* dockwidget = new QDockWidget();
    // 加入到主窗口中
    this->addDockWidget(Qt::LeftDockWidgetArea, dockwidget); // 将子窗口放到主窗口的左侧
    // 给子窗口(浮动窗口设置窗口标题)
    dockwidget->setWindowTitle("这是一个没什么用的浮动窗口!!");

    // 给浮动窗口设置一些控件
    QWidget* widget = new QWidget();
    dockwidget->setWidget(widget);
    // 因为浮动窗口中只能添加一个控件，所以想要想浮动窗口中添加多个控件的话，只能使用"嵌套"的方法
    QHBoxLayout* layout = new QHBoxLayout();
    // 给layout创建其它控件
    QLabel* label = new QLabel("这是一个没什么卵用的标签!!");
    QPushButton* button1 = new QPushButton("这是一个没什么卵用的按钮!!");
    layout->addWidget(label);
    layout->addWidget(button1);
    widget->setLayout(layout);

    // 设置dockwidget允许停靠的位置
    dockwidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea | Qt::TopDockWidgetArea);
}

MainWindow::~MainWindow()
{
    delete ui;
}

